package com.ims.core.doc.vo.bwapi;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 销项发票红冲对象
 *
 * @author IMS
 * @date 2024-10-24
 */
public class InvoiceForRed implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 发票类型代码 */
    private String invoiceType;

    /** 红字确认单流水号("RED"+申请号码或开具流水) */
    private String applyNo;

    /** 发票号码 */
    private String invoiceNo;

    /** 发票代码 */
    private String invoiceCode;

    /** 开票日期 */
    private String invoiceDate;

    /** 印刷序号 */
    private String printNumber;

    /** 金额(不含税) */
    private BigDecimal feeWithoutTax;

    /** 蓝字发票合计金额 */
    private BigDecimal invoiceTotalPrice;

    /** 蓝字发票合计税额 */
    private BigDecimal invoiceTotalTax;

    /** 红字冲销金额 */
    private BigDecimal redTotalPrice;

    /** 红字冲销税额 */
    private BigDecimal redTotalTax;

    /** 销方名称 */
    private String sellerName;

    /** 销方纳税识别号 */
    private String sellerNumber;

    /** 乘车行程 */
    private String sellerDest;

    /** 销方地址 */
    private String sellerAddress;

    /** 销方电话 */
    private String sellerTel;

    /** 销方开户行 */
    private String sellerBank;

    /** 销方账号 */
    private String sellerAccount;

    /** 名称 */
    private String buyerName;

    /** 纳税识别号 */
    private String buyerNumber;

    /** 地址 */
    private String buyerAddress;

    /** 电话 */
    private String buyerTel;

    /** 开户行 */
    private String buyerBank;

    /** 账号 */
    private String buyerAccount;

    /** 凭证号 */
    private String voucherNumber;

    /** 校验码 */
    private String checkCode;

    /** 发票备注 */
    private String invoiceRemark;

    /** ERP发票流水号 */
    private String erpSerialNumber;

    /** 订单号 */
    private String orderNo;

    /** 源订单号 */
    private String sourceOrderNo;

    /** 收票人邮箱 */
    private String collectMail;

    /** 收票人手机号 */
    private String collectMobile;

    /** 作废人 */
    private String nullifier;

    /** 作废时间 */
    private Date invalidTime;

    /** 原发票号 */
    private String orgInvoiceNo;

    /** 开票人 */
    private String invoiceName;

    /** 收款人 */
    private String collectName;

    /** 复核人 */
    private String reviewName;

    /** 合同编码 */
    private String contractNumber;

    /** 红字发票冲红原因代码 */
    private String redReason;

    private String priceTaxMark;

    /** 红冲明细项信息 */
    private List<InvoiceEntryForRed> invoiceEntryForRedList;

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(String invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getPrintNumber() {
        return printNumber;
    }

    public void setPrintNumber(String printNumber) {
        this.printNumber = printNumber;
    }

    public BigDecimal getFeeWithoutTax() {
        return feeWithoutTax;
    }

    public void setFeeWithoutTax(BigDecimal feeWithoutTax) {
        this.feeWithoutTax = feeWithoutTax;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getSellerNumber() {
        return sellerNumber;
    }

    public void setSellerNumber(String sellerNumber) {
        this.sellerNumber = sellerNumber;
    }

    public String getSellerDest() {
        return sellerDest;
    }

    public void setSellerDest(String sellerDest) {
        this.sellerDest = sellerDest;
    }

    public String getSellerAddress() {
        return sellerAddress;
    }

    public void setSellerAddress(String sellerAddress) {
        this.sellerAddress = sellerAddress;
    }

    public String getSellerTel() {
        return sellerTel;
    }

    public void setSellerTel(String sellerTel) {
        this.sellerTel = sellerTel;
    }

    public String getSellerBank() {
        return sellerBank;
    }

    public void setSellerBank(String sellerBank) {
        this.sellerBank = sellerBank;
    }

    public String getSellerAccount() {
        return sellerAccount;
    }

    public void setSellerAccount(String sellerAccount) {
        this.sellerAccount = sellerAccount;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getBuyerNumber() {
        return buyerNumber;
    }

    public void setBuyerNumber(String buyerNumber) {
        this.buyerNumber = buyerNumber;
    }

    public String getBuyerAddress() {
        return buyerAddress;
    }

    public void setBuyerAddress(String buyerAddress) {
        this.buyerAddress = buyerAddress;
    }

    public String getBuyerTel() {
        return buyerTel;
    }

    public void setBuyerTel(String buyerTel) {
        this.buyerTel = buyerTel;
    }

    public String getBuyerBank() {
        return buyerBank;
    }

    public void setBuyerBank(String buyerBank) {
        this.buyerBank = buyerBank;
    }

    public String getBuyerAccount() {
        return buyerAccount;
    }

    public void setBuyerAccount(String buyerAccount) {
        this.buyerAccount = buyerAccount;
    }

    public String getVoucherNumber() {
        return voucherNumber;
    }

    public void setVoucherNumber(String voucherNumber) {
        this.voucherNumber = voucherNumber;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getInvoiceRemark() {
        return invoiceRemark;
    }

    public void setInvoiceRemark(String invoiceRemark) {
        this.invoiceRemark = invoiceRemark;
    }

    public String getErpSerialNumber() {
        return erpSerialNumber;
    }

    public void setErpSerialNumber(String erpSerialNumber) {
        this.erpSerialNumber = erpSerialNumber;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getSourceOrderNo() {
        return sourceOrderNo;
    }

    public void setSourceOrderNo(String sourceOrderNo) {
        this.sourceOrderNo = sourceOrderNo;
    }

    public String getCollectMail() {
        return collectMail;
    }

    public void setCollectMail(String collectMail) {
        this.collectMail = collectMail;
    }

    public String getCollectMobile() {
        return collectMobile;
    }

    public void setCollectMobile(String collectMobile) {
        this.collectMobile = collectMobile;
    }

    public String getNullifier() {
        return nullifier;
    }

    public void setNullifier(String nullifier) {
        this.nullifier = nullifier;
    }

    public Date getInvalidTime() {
        return invalidTime;
    }

    public void setInvalidTime(Date invalidTime) {
        this.invalidTime = invalidTime;
    }

    public String getOrgInvoiceNo() {
        return orgInvoiceNo;
    }

    public void setOrgInvoiceNo(String orgInvoiceNo) {
        this.orgInvoiceNo = orgInvoiceNo;
    }

    public String getInvoiceName() {
        return invoiceName;
    }

    public void setInvoiceName(String invoiceName) {
        this.invoiceName = invoiceName;
    }

    public String getCollectName() {
        return collectName;
    }

    public void setCollectName(String collectName) {
        this.collectName = collectName;
    }

    public String getReviewName() {
        return reviewName;
    }

    public void setReviewName(String reviewName) {
        this.reviewName = reviewName;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }


    public List<InvoiceEntryForRed> getInvoiceEntryForRedList() {
        return invoiceEntryForRedList;
    }

    public void setInvoiceEntryForRedList(List<InvoiceEntryForRed> invoiceEntryForRedList) {
        this.invoiceEntryForRedList = invoiceEntryForRedList;
    }

    public BigDecimal getInvoiceTotalPrice() {
        return invoiceTotalPrice;
    }

    public void setInvoiceTotalPrice(BigDecimal invoiceTotalPrice) {
        this.invoiceTotalPrice = invoiceTotalPrice;
    }

    public BigDecimal getInvoiceTotalTax() {
        return invoiceTotalTax;
    }

    public void setInvoiceTotalTax(BigDecimal invoiceTotalTax) {
        this.invoiceTotalTax = invoiceTotalTax;
    }

    public BigDecimal getRedTotalPrice() {
        return redTotalPrice;
    }

    public void setRedTotalPrice(BigDecimal redTotalPrice) {
        this.redTotalPrice = redTotalPrice;
    }

    public BigDecimal getRedTotalTax() {
        return redTotalTax;
    }

    public void setRedTotalTax(BigDecimal redTotalTax) {
        this.redTotalTax = redTotalTax;
    }

    public String getRedReason() {
        return redReason;
    }

    public void setRedReason(String redReason) {
        this.redReason = redReason;
    }

    public String getPriceTaxMark() {
        return priceTaxMark;
    }

    public void setPriceTaxMark(String priceTaxMark) {
        this.priceTaxMark = priceTaxMark;
    }
}
